package com.sqs.math;

/**
 * 
 * @author sqs
 *
 * @param
 */
public abstract class AbstractMatrix<T> {

	protected int rows;
	protected int cols;

	public abstract T add(T augend);

	public abstract T subtract(T subtrahend);

	public abstract T multiply(T multiplicand);

	/**
	 * 矩阵行列式
	 * 
	 * @return
	 */
	public abstract Number determinant();

	/**
	 * 矩阵行数
	 * 
	 * @return
	 */
	public int rows() {
		return rows;
	}

	/**
	 * 矩阵列数
	 * 
	 * @return
	 */
	public int cols() {
		return cols;
	}
}
